// JavaScript Document
(function ($) {
    $.fn.extend({
        slide: function (opt, callback) {
            //定义变量
            if (!opt) var opt = {};
            var timerID;
            var btnLeft = $("#" + opt.left); //向左按钮
            var btnRight = $("#" + opt.right); //向右按钮
            var _this = this.find("ul");
            liW = opt.li_w//参数：每个li的宽度（包括border,margin,padding,都要算进去）
            li_size = opt.li_size ? parseInt(opt.li_size, 10) : parseInt(this.width() / liW, 10)  //每次滚动的个数，默认为一屏，即父容器宽度
            speed = opt.speed ? parseInt(opt.speed, 10) : 500; //滚动速度，数值越大，速度越慢（毫秒）
            timer = opt.timer //?parseInt(opt.timer,10):3000; //滚动的时间间隔（毫秒）
            if (li_size == 0) { li_size = 1 };
            var leftW = 0 - li_size * liW;
            //向左滚动函数
            function scrollLeft() {
                btnLeft.unbind("click", scrollLeft); //滑动时先取消点击滑动事件
                btnRight.unbind("click", scrollRight);
                _this.animate({
                    marginLeft: leftW
                }, speed, "easeInOutQuint", function () { //参数"easeOutExpo"不需要可以删掉，需要的话必选先加载"easing.js"文件
                    for (i = 1; i <= li_size; i++) {
                        _this.find("li:first").appendTo(_this);
                    }
                    _this.css({ 'margin-left': 0 });
                    btnLeft.bind("click", scrollLeft); //滑动结束后绑定按钮的点击事件
                    btnRight.bind("click", scrollRight);
                });
            }
            //向右滚动函数
            function scrollRight() {
                btnLeft.unbind("click", scrollLeft);
                btnRight.unbind("click", scrollRight);
                for (i = 1; i <= li_size; i++) {
                    _this.find("li:last").prependTo(_this);
                }
                _this.css({ 'margin-left': leftW });
                _this.animate({
                    marginLeft: 0
                }, speed, "easeInOutQuint", function () {
                    btnLeft.bind("click", scrollLeft);
                    btnRight.bind("click", scrollRight);
                });
            }
            //自动播放
            function autoPlay() {
                if (timer)
                    timerID = window.setInterval(scrollLeft, timer);
            };
            //停止自动播放
            function autoStop() {
                if (timer)
                    window.clearInterval(timerID);
            };
            //鼠标事件绑定
            _this.hover(autoStop, autoPlay).mouseout() //加载完成后自动开始
            btnLeft.click(scrollLeft).hover(autoStop, autoPlay); //向左鼠标事件绑定
            btnRight.click(scrollRight).hover(autoStop, autoPlay); //向右鼠标事件绑定
        }
    })
})(jQuery);
